package com.bosssoft.trainee.rbac.service;

import com.bosssoft.trainee.rbac.entity.dto.UserDTO;
import java.util.List;

public interface UserService {
    /**
     * 用户登录
     *
     * @param username username
     * @param userPwd userPwd
     * @return Result<User>
     */
    UserDTO userLogin(String username, String userPwd);
    /**
     * 注销用户
     *
     * @param username username
     * @return Result<>
     */
    int userDelete(String username);
    /**
     * 添加用户
     *
     * @param userDTO user
     * @return Result<>
     */
    int userInsert(UserDTO userDTO);
    /**
     * 修改用户密码
     *
     * @param userDTO user
     * @return Result<>
     */
    int userUpdatePwd(UserDTO userDTO);
    /**
     * 更新用户权限
     *
     * @param userDTO user
     * @return Result<>
     */
    int userUpdateRole(UserDTO userDTO);
    /**
     * 查询所有用户
     *
     * @return Result<>
     */
    List<UserDTO> getAllUser();
    /**
     * 查询某ID用户
     *
     * @param userId userId
     * @return Result<>
     */
    UserDTO getUserById(Integer userId);
    /**
     * 查询某ID用户是否为管理员
     *
     * @param userId userId
     * @return Result<UserDTO>
     */
    UserDTO getUserIsAdmin(Integer userId);
}
